{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "5d037743",
      "metadata": {
        "id": "5d037743"
      },
      "source": [
        "# Differentiating the PPG signal\n",
        "In this tutorial we will learn how to differentiate physiological signals.\n",
        "\n",
        "Our **objectives** are to:\n",
        "- Apply [SciPy](https://docs.scipy.org/doc/scipy/index.html) functions for differentiating signals.\n",
        "- View typical shapes of the first and second derivatives of PPG signals."
      ]
    },
    {
      "cell_type": "markdown",
      "id": "e21e64d8",
      "metadata": {
        "id": "e21e64d8"
      },
      "source": [
        "<div class=\"alert alert-block alert-warning\"><p><b>Context:</b> Differentiating the PPG signal is a key step in identifying fiducial points on PPG pulse waves.</p></div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "1afcdef9",
      "metadata": {
        "id": "1afcdef9"
      },
      "source": [
        "---\n",
        "## Setup"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "edd8e0c5",
      "metadata": {
        "id": "edd8e0c5"
      },
      "source": [
        "_These steps have been covered in previous tutorials, so we'll just re-use the code here._"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "ce3cdfde",
      "metadata": {
        "id": "ce3cdfde"
      },
      "outputs": [],
      "source": [
        "# Import packages\n",
        "import sys\n",
        "from pathlib import Path\n",
        "!pip install wfdb==4.0.0\n",
        "import wfdb"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "id": "f8c8884c",
      "metadata": {
        "id": "f8c8884c"
      },
      "outputs": [],
      "source": [
        "# The name of the MIMIC-IV Waveform Database on PhysioNet\n",
        "database_name = 'mimic4wdb/0.1.0'\n",
        "\n",
        "# Segment for analysis\n",
        "segment_names = ['83404654_0005', '82924339_0007', '84248019_0005', '82439920_0004', '82800131_0002', '84304393_0001', '89464742_0001', '88958796_0004', '88995377_0001', '85230771_0004', '86643930_0004', '81250824_0005', '87706224_0003', '83058614_0005', '82803505_0017', '88574629_0001', '87867111_0012', '84560969_0001', '87562386_0001', '88685937_0001', '86120311_0001', '89866183_0014', '89068160_0002', '86380383_0001', '85078610_0008', '87702634_0007', '84686667_0002', '84802706_0002', '81811182_0004', '84421559_0005', '88221516_0007', '80057524_0005', '84209926_0018', '83959636_0010', '89989722_0016', '89225487_0007', '84391267_0001', '80889556_0002', '85250558_0011', '84567505_0005', '85814172_0007', '88884866_0005', '80497954_0012', '80666640_0014', '84939605_0004', '82141753_0018', '86874920_0014', '84505262_0010', '86288257_0001', '89699401_0001', '88537698_0013', '83958172_0001']\n",
        "segment_dirs = ['mimic4wdb/0.1.0/waves/p100/p10020306/83404654', 'mimic4wdb/0.1.0/waves/p101/p10126957/82924339', 'mimic4wdb/0.1.0/waves/p102/p10209410/84248019', 'mimic4wdb/0.1.0/waves/p109/p10952189/82439920', 'mimic4wdb/0.1.0/waves/p111/p11109975/82800131', 'mimic4wdb/0.1.0/waves/p113/p11392990/84304393', 'mimic4wdb/0.1.0/waves/p121/p12168037/89464742', 'mimic4wdb/0.1.0/waves/p121/p12173569/88958796', 'mimic4wdb/0.1.0/waves/p121/p12188288/88995377', 'mimic4wdb/0.1.0/waves/p128/p12872596/85230771', 'mimic4wdb/0.1.0/waves/p129/p12933208/86643930', 'mimic4wdb/0.1.0/waves/p130/p13016481/81250824', 'mimic4wdb/0.1.0/waves/p132/p13240081/87706224', 'mimic4wdb/0.1.0/waves/p136/p13624686/83058614', 'mimic4wdb/0.1.0/waves/p137/p13791821/82803505', 'mimic4wdb/0.1.0/waves/p141/p14191565/88574629', 'mimic4wdb/0.1.0/waves/p142/p14285792/87867111', 'mimic4wdb/0.1.0/waves/p143/p14356077/84560969', 'mimic4wdb/0.1.0/waves/p143/p14363499/87562386', 'mimic4wdb/0.1.0/waves/p146/p14695840/88685937', 'mimic4wdb/0.1.0/waves/p149/p14931547/86120311', 'mimic4wdb/0.1.0/waves/p151/p15174162/89866183', 'mimic4wdb/0.1.0/waves/p153/p15312343/89068160', 'mimic4wdb/0.1.0/waves/p153/p15342703/86380383', 'mimic4wdb/0.1.0/waves/p155/p15552902/85078610', 'mimic4wdb/0.1.0/waves/p156/p15649186/87702634', 'mimic4wdb/0.1.0/waves/p158/p15857793/84686667', 'mimic4wdb/0.1.0/waves/p158/p15865327/84802706', 'mimic4wdb/0.1.0/waves/p158/p15896656/81811182', 'mimic4wdb/0.1.0/waves/p159/p15920699/84421559', 'mimic4wdb/0.1.0/waves/p160/p16034243/88221516', 'mimic4wdb/0.1.0/waves/p165/p16566444/80057524', 'mimic4wdb/0.1.0/waves/p166/p16644640/84209926', 'mimic4wdb/0.1.0/waves/p167/p16709726/83959636', 'mimic4wdb/0.1.0/waves/p167/p16715341/89989722', 'mimic4wdb/0.1.0/waves/p168/p16818396/89225487', 'mimic4wdb/0.1.0/waves/p170/p17032851/84391267', 'mimic4wdb/0.1.0/waves/p172/p17229504/80889556', 'mimic4wdb/0.1.0/waves/p173/p17301721/85250558', 'mimic4wdb/0.1.0/waves/p173/p17325001/84567505', 'mimic4wdb/0.1.0/waves/p174/p17490822/85814172', 'mimic4wdb/0.1.0/waves/p177/p17738824/88884866', 'mimic4wdb/0.1.0/waves/p177/p17744715/80497954', 'mimic4wdb/0.1.0/waves/p179/p17957832/80666640', 'mimic4wdb/0.1.0/waves/p180/p18080257/84939605', 'mimic4wdb/0.1.0/waves/p181/p18109577/82141753', 'mimic4wdb/0.1.0/waves/p183/p18324626/86874920', 'mimic4wdb/0.1.0/waves/p187/p18742074/84505262', 'mimic4wdb/0.1.0/waves/p188/p18824975/86288257', 'mimic4wdb/0.1.0/waves/p191/p19126489/89699401', 'mimic4wdb/0.1.0/waves/p193/p19313794/88537698', 'mimic4wdb/0.1.0/waves/p196/p19619764/83958172']\n",
        "\n",
        "# Segment 3 and 8 are helpful\n",
        "rel_segment_n = 8 \n",
        "rel_segment_name = segment_names[rel_segment_n]\n",
        "rel_segment_dir = segment_dirs[rel_segment_n]"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "61a223f7",
      "metadata": {
        "id": "61a223f7"
      },
      "source": [
        "---\n",
        "## Extract one minute of PPG signal from this segment"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "0c587f1d",
      "metadata": {
        "id": "0c587f1d"
      },
      "source": [
        "_These steps have been covered in previous tutorials, so we'll just re-use the code here._"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "id": "48891a4b",
      "metadata": {
        "id": "48891a4b",
        "outputId": "583d3f99-0d01-4e0b-f4fc-11c910ec566e",
        "colab": {
          "base_uri": "https://localhost:8080/"
        }
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Metadata loaded from segment: 88995377_0001\n",
            "5 seconds of data extracted from: 88995377_0001\n",
            "Extracted the PPG signal from column 4 of the matrix of waveform data.\n"
          ]
        }
      ],
      "source": [
        "# time since the start of the segment at which to begin extracting data\n",
        "start_seconds = 100 \n",
        "no_seconds_to_load = 5\n",
        "\n",
        "segment_metadata = wfdb.rdheader(record_name=rel_segment_name,\n",
        "                                 pn_dir=rel_segment_dir) \n",
        "print(f\"Metadata loaded from segment: {rel_segment_name}\")\n",
        "\n",
        "fs = round(segment_metadata.fs)\n",
        "sampfrom = fs*start_seconds\n",
        "sampto = fs*(start_seconds + no_seconds_to_load)\n",
        "\n",
        "segment_data = wfdb.rdrecord(record_name=rel_segment_name,\n",
        "                             sampfrom=sampfrom,\n",
        "                             sampto=sampto,\n",
        "                             pn_dir=rel_segment_dir) \n",
        "\n",
        "print(f\"{no_seconds_to_load} seconds of data extracted from: {rel_segment_name}\")\n",
        "\n",
        "for sig_no in range(0, len(segment_data.sig_name)):\n",
        "    if \"Pleth\" in segment_data.sig_name[sig_no]:\n",
        "        break\n",
        "\n",
        "ppg = segment_data.p_signal[:,sig_no]\n",
        "fs = segment_data.fs\n",
        "\n",
        "print(f\"Extracted the PPG signal from column {sig_no} of the matrix of waveform data.\")"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "fda3cdf7",
      "metadata": {
        "id": "fda3cdf7"
      },
      "source": [
        "---\n",
        "## Filter the data"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "b21086dc",
      "metadata": {
        "id": "b21086dc"
      },
      "source": [
        "_These steps have been covered in previous tutorials, so we'll just re-use the code here._"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "id": "75fd6b99",
      "metadata": {
        "id": "75fd6b99"
      },
      "outputs": [],
      "source": [
        "# package\n",
        "import scipy.signal as sp\n",
        "\n",
        "# filter cut-offs\n",
        "lpf_cutoff = 0.7 # Hz\n",
        "hpf_cutoff = 10 # Hz\n",
        "\n",
        "# create filter\n",
        "sos_ppg = sp.butter(10, [lpf_cutoff, hpf_cutoff],\n",
        "                    btype = 'bp',\n",
        "                    analog = False,\n",
        "                    output = 'sos',\n",
        "                    fs = segment_data.fs)\n",
        "\n",
        "w, h = sp.sosfreqz(sos_ppg, 2000, fs = fs)\n",
        "\n",
        "# filter PPG\n",
        "ppg_filt = sp.sosfiltfilt(sos_ppg, ppg)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "f28059ee",
      "metadata": {
        "id": "f28059ee"
      },
      "source": [
        "- Import the packages required to plot the signal: [matplotlib](https://matplotlib.org/stable/index.html) which is used to create plots, and [NumPy](https://numpy.org/) which is used to create a time vector in this example."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "id": "f9cba97c",
      "metadata": {
        "id": "f9cba97c"
      },
      "outputs": [],
      "source": [
        "from matplotlib import pyplot as plt\n",
        "import numpy as np"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "65a2f117",
      "metadata": {
        "id": "65a2f117"
      },
      "source": [
        "- Plot the original and the filtered PPG signal"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "id": "68af0c37",
      "metadata": {
        "id": "68af0c37",
        "outputId": "b6370eb2-2f7d-41c9-bdd6-5288bf718a0d",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 279
        }
      },
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ],
      "source": [
        "fig, ax = plt.subplots()\n",
        "t = np.arange(0, len(ppg_filt)) / segment_data.fs\n",
        "\n",
        "ax.plot(t, ppg,\n",
        "        linewidth=2.0,\n",
        "        label = \"original PPG\")\n",
        "\n",
        "ax.plot(t, ppg_filt,\n",
        "        linewidth=2.0,\n",
        "        label = \"filtered PPG\")\n",
        "\n",
        "ax.set(xlim=(0, no_seconds_to_load))\n",
        "plt.xlabel('time (s)')\n",
        "plt.ylabel('PPG')\n",
        "\n",
        "plt.legend()\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "83f24a1b",
      "metadata": {
        "id": "83f24a1b"
      },
      "source": [
        "- We will use the filtered signal instead of the original PPG from now on."
      ]
    },
    {
      "cell_type": "markdown",
      "id": "89e538fb",
      "metadata": {
        "id": "89e538fb"
      },
      "source": [
        "---\n",
        "## Differentiate the PPG signal"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "4c17b93f",
      "metadata": {
        "id": "4c17b93f"
      },
      "source": [
        "- Differentiate it once and twice using the [Savitzky-Golay filtering](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.savgol_filter.html) function in SciPy"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "id": "351342c9",
      "metadata": {
        "id": "351342c9"
      },
      "outputs": [],
      "source": [
        "# Calculate first derivative\n",
        "d1ppg = sp.savgol_filter(ppg_filt, 9, 5, deriv=1)\n",
        "\n",
        "# Calculate second derivative\n",
        "d2ppg = sp.savgol_filter(ppg_filt, 9, 5, deriv=2) "
      ]
    },
    {
      "cell_type": "markdown",
      "id": "60597b8e",
      "metadata": {
        "id": "60597b8e"
      },
      "source": [
        "<div class=\"alert alert-block alert-warning\"><p><b>Resource:</b> Savitzky-Golay filtering, which is used here to calculate derivatives, is described in <a href=\"https://doi.org/10.1021/ac60214a047\">this article</a>.</p></div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "d25eb409",
      "metadata": {
        "id": "d25eb409"
      },
      "source": [
        "<div class=\"alert alert-block alert-info\"><p><b>Question:</b> Can you summarise how Savitzky-Golay filtering works? What are its advantages in physiological signal processing?</p></div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "20a17e39",
      "metadata": {
        "id": "20a17e39"
      },
      "source": [
        "---\n",
        "## Plot the PPG and its derivatives"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "id": "f7cc2de0",
      "metadata": {
        "id": "f7cc2de0"
      },
      "outputs": [],
      "source": [
        "from matplotlib import pyplot as plt\n",
        "import numpy as np"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "id": "62850216",
      "metadata": {
        "id": "62850216",
        "outputId": "f158e324-d142-44ba-b705-2baaa11a4594",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 308
        }
      },
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 3 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ],
      "source": [
        "t = np.arange(0, len(ppg_filt))/segment_data.fs\n",
        "\n",
        "fig, (ax1,ax2,ax3) = plt.subplots(3, 1, sharex = True, sharey = False)\n",
        "ax1.plot(t, ppg_filt)\n",
        "ax1.set(xlabel = '', ylabel = 'PPG')\n",
        "\n",
        "plt.suptitle('The PPG signal and its first and second derivatives')\n",
        "\n",
        "ax2.plot(t, d1ppg)\n",
        "ax2.set(xlabel = '',\n",
        "        ylabel = 'PPG\\'')\n",
        "\n",
        "ax3.plot(t, d2ppg)\n",
        "ax3.set(xlabel = 'Time (s)',\n",
        "        ylabel = 'PPG\\'\\'')\n",
        "\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "556b9ff6",
      "metadata": {
        "id": "556b9ff6"
      },
      "source": [
        "<div class=\"alert alert-block alert-info\"><p><b>Question:</b> How would the derivatives have looked different if the PPG signal hadn't been filtered before differentiation? <br> <b>Hint:</b> In the differentiation step above, try replacing 'ppg_filt' with 'ppg'.</p></div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "47bd06f1",
      "metadata": {
        "id": "47bd06f1"
      },
      "source": [
        "<div class=\"alert alert-block alert-info\"><p><b>Question:</b> How would the derivatives have been different if the PPG signal had been filtered using different co-efficients?\n",
        "    <br> <b>Hint:</b> Above, try replacing the relatively wide band-pass frequencies '[0.7, 10]' with '[0.8, 3]'. \n",
        "    <br> <b>Consider:</b> Which band-pass frequencies would be most suitable for pulse wave analysis? How about heart rate estimation?</p>\n",
        "</div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "8be393de",
      "metadata": {
        "id": "8be393de"
      },
      "source": [
        "## Comparison with typical PPG pulse wave "
      ]
    },
    {
      "cell_type": "markdown",
      "id": "b8d4215b",
      "metadata": {
        "id": "b8d4215b"
      },
      "source": [
        "The figure below shows a typical PPG pulse wave recorded from a young, healthy subject."
      ]
    },
    {
      "cell_type": "markdown",
      "id": "4cb06fc4",
      "metadata": {
        "id": "4cb06fc4"
      },
      "source": [
        "![pic](https://upload.wikimedia.org/wikipedia/commons/b/b0/Photoplethysmogram_%28PPG%29_pulse_wave_fiducial_points.svg)"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "913b56d4",
      "metadata": {
        "id": "913b56d4"
      },
      "source": [
        "_Source: Charlton PH, [Photoplethysmogram (PPG) pulse wave fiducial points](https://commons.wikimedia.org/wiki/File:Photoplethysmogram_\\(PPG\\)_pulse_wave_fiducial_points.svg), Wikimedia Commons (CC BY 4.0)._"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "29d096c6",
      "metadata": {
        "id": "29d096c6"
      },
      "source": [
        "<div class=\"alert alert-block alert-info\"><p><b>Question:</b> How does this pulse wave shape and derivatives compare to the shape of those obtained from MIMIC data above? What might explain the differences?</p></div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "dabced47",
      "metadata": {
        "id": "dabced47"
      },
      "source": [
        "<div class=\"alert alert-block alert-info\"><p><b>Extension:</b> Try using 'rel_segment_n=3' above (i.e. analysing segment '82439920_0004'). How do the pulse waves in this signal compare? What might that tell us about this patient?</p></div>"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "82ef9fc0",
      "metadata": {
        "id": "82ef9fc0"
      },
      "source": [
        "<div class=\"alert alert-block alert-warning\"><p><b>Further reading:</b> <a href=\"https://doi.org/10.1161/01.HYP.32.2.365\">this article</a> provides further information on how age affects the shape of the PPG's second derivative.</p></div>"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "id": "af784493",
      "metadata": {
        "id": "af784493"
      },
      "outputs": [],
      "source": [
        ""
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.8.8"
    },
    "toc": {
      "base_numbering": 1,
      "nav_menu": {},
      "number_sections": true,
      "sideBar": true,
      "skip_h1_title": true,
      "title_cell": "Table of Contents",
      "title_sidebar": "Contents",
      "toc_cell": false,
      "toc_position": {},
      "toc_section_display": true,
      "toc_window_display": true
    },
    "colab": {
      "name": "differentiation.ipynb",
      "provenance": []
    }
  },
  "nbformat": 4,
  "nbformat_minor": 5
}